import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import axios from 'axios'

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  
  if('/api/login'!== config.url){ // 非登录请求,一定要加token，否则后台接将不会发送数据给你
    let token = store.state.token || sessionStorage.getItem('token')
    // 添加头信息
    config.headers['Authorization'] = `wuchen ${token}`
  }
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  return response;
}, function (error) {
  router.history.push('/admin/login')
  // 对响应错误做点什么
  return Promise.reject(error);
});

// 全局配置elementui组件
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

Vue.config.productionTip = false

Vue.prototype.$axios = axios

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
